GeneratedKeysReaderFactory.java
package org.codefilarete.stalactite.sql;
import org.codefilarete.stalactite.sql.statement.GeneratedKeysReader;
import org.codefilarete.stalactite.sql.statement.binder.ParameterBinderRegistry;
/**
* @author Guillaume Mary
*/
public interface GeneratedKeysReaderFactory {
<I> GeneratedKeysReader<I> build(String keyName, Class<I> columnType);
class DefaultGeneratedKeysReaderFactory implements GeneratedKeysReaderFactory {
private final ParameterBinderRegistry parameterBinderRegistry;
public DefaultGeneratedKeysReaderFactory(ParameterBinderRegistry parameterBinderRegistry) {
this.parameterBinderRegistry = parameterBinderRegistry;
}
@Override
public <I> GeneratedKeysReader<I> build(String keyName, Class<I> columnType) {
return new GeneratedKeysReader<>(keyName, parameterBinderRegistry.getBinder(columnType));
}
}
}